package com.ubxtech.db.handler;

import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.operators.relational.InExpression;
import net.sf.jsqlparser.expression.operators.relational.ItemsList;

/**
 * @author Victor.Xiao
 * @since 2023-10-10 15:11
 **/
public interface TenantMultiValueHandler extends TenantLineHandler {

    /**
     * 获取租户 ID 值表达式
     * <p>
     *
     * @return 租户 ID 值表达式
     */
    ItemsList getTenantIds();

    /**
     * 租户字段查询方式,eq:等于,in:多个,like:匹配,默认是eq
     * @author Victor.Xiao
     * @since 2023-10-10 19:55
     * @return java.lang.String
    */
    default String getSelectType() {
        return "eq";
    }

//    /**
//     * 获取租户 ID 值表达式
//     * <p>
//     *
//     * @return 租户 ID 值表达式
//     */
//    default Expression getRealTenantId() {
//        InExpression expression = getTenantIds();
//        if (expression != null) {
//            return expression;
//        }
//        return getTenantId();
//    }

}
